<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
        <!-- <input type="text" v-model="msg">
        <p>{{ msg }}</p> -->

        <input type="text" v-model="msg2">
    </div>
    <script src="./vue.js"></script>
    <script>
      new Vue({
        el: '#app',
        data () {
          return {
            msg: 'hello'
          }
        },
        computed: {
            // 计算属性的简写形式
            // 它只能取，不能赋，一赋就报错
            // msg2 () {
            //     return 'hello'
            // }

            // 如果希望一个计算属性既能取值，也能赋值
            // 就用完整写法
            msg2: {
                // 取 -- 对计算属性取值时调用get
                get () {
                    return '新的hello'
                },

                // 赋 -- 对计算属性赋值时调用set，参数就是要赋的内容
                set (val) {
                    console.log('set', val)
                }
            }
        }
      })
    </script>
  </body>
</html>